#include <string.h>
#include <stdio.h>
#include <stdlib.h>

#include <unistd.h> // 包含unistd.h来声明pause函数

#include "types.h"
#include "app.h"

#include "hal_main.h"

/**
 * @brief 主函数
 *
 * 该函数是程序的入口点。它初始化信号量、日志系统，并调用一系列测试函数来验证各种算法和功能。
 * 最后，程序进入一个无限循环，等待信号发生。
 *
 * @return 无返回值
 */
int main()
{
    // 1. 硬件驱动初始化
    hal_init();
    // 2. 应用初始化
    app_init();
    // 3. 标记reset跳转点，设置setjmp函数

    // 4. 热复位还原变量

    // 5. 业务逻辑循环


    while ( 1 ) // 运行程序，等待信号发生
    {
        int res = pause(); // 暂停程序，直到捕捉到信号
        // 如果需要在捕获信号后执行一些代码，可以在这里添加
    }
    // return 0;
}
